#ifndef __LIB_KERNEL_BITMAP_H 
#define __LIB_KERNEL_BITMAP_H 
#include "global.h" 
#define BITMAP_MASK 1 

struct bitmap {
	uint32_t btmp_bytes_len;
	/* 在遍历位图时， 整体上以字节为单位， 细节上是以位为单位，所以此处位图的指针必须是单字节 */
	uint8_t* bits;
};

void bitmap_init (struct bitmap* btmp);
int bitmap_scan_test(struct bitmap* btmp, uint32_t bit_idx);
int bitmap_scan(struct bitmap* btmp, uint32_t cnt);
void bitmap_set(struct bitmap* btmp, uint32_t bit_idx, int8_t value); 
#endif

